package com.yhivi.generalbackend.exception;

import lombok.Getter;

/**
 * 全局异常处理（自定义业务异常）
 */
@Getter
public class BusinessException extends RuntimeException {
    /**
     * 错误码
     */
    private final int code;

    /**
     * 构造函数
     * 直接传入错误码和错误信息
     * @param code
     * @param message
     */

    public BusinessException(int code, String message) {
        super(message);
        this.code = code;
    }

    /**
     * 构造函数
     * 传入错误码枚举，自动获取错误信息
     * @param errorCode
     */
    public BusinessException(ErrorCode errorCode) {
        super(errorCode.getMessage());
        this.code = errorCode.getCode();
    }

    /**
     * 构造函数
     * 传入错误码枚举和自定义错误信息
     * @param errorCode
     * @param message
     */
    public BusinessException(ErrorCode errorCode, String message) {
        super(message);
        this.code = errorCode.getCode();
    }

}
